package com.tjy.farmer.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.tjy.common.annotation.Excel;
import com.tjy.common.core.domain.BaseEntity;

/**
 * 区域边界点对象 tb_area_boundary
 * 
 * @author tjy
 * @date 2025-09-08
 */

public class AreaBoundary extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 边界点主键（自增） */
    private Long id;

    /** 所属区域ID，关联tb_area表的id */
    @Excel(name = "所属区域ID，关联tb_area表的id")
    private Long areaId;

    /** 经度（保留6位小数，范围：-180~180） */
    @Excel(name = "经度", readConverterExp = "保=留6位小数，范围：-180~180")
    private BigDecimal longitude;

    /** 纬度（保留6位小数，范围：-90~90） */
    @Excel(name = "纬度", readConverterExp = "保=留6位小数，范围：-90~90")
    private BigDecimal latitude;

    /** 点的顺序（用于按顺序连接成多边形，从0或1开始递增） */
    @Excel(name = "点的顺序", readConverterExp = "用=于按顺序连接成多边形，从0或1开始递增")
    private Long pointOrder;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setAreaId(Long areaId)
    {
        this.areaId = areaId;
    }

    public Long getAreaId()
    {
        return areaId;
    }

    public void setLongitude(BigDecimal longitude)
    {
        this.longitude = longitude;
    }

    public BigDecimal getLongitude()
    {
        return longitude;
    }

    public void setLatitude(BigDecimal latitude)
    {
        this.latitude = latitude;
    }

    public BigDecimal getLatitude()
    {
        return latitude;
    }

    public void setPointOrder(Long pointOrder)
    {
        this.pointOrder = pointOrder;
    }

    public Long getPointOrder()
    {
        return pointOrder;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("areaId", getAreaId())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .append("pointOrder", getPointOrder())
            .append("createTime", getCreateTime())
            .toString();
    }
}
